f1(cons2(nil, y)) -> y
f1(cons2(f1(cons2(nil, y)), z)) -> copy3(n, y, z)
copy3(0, y, z) -> f1(z)
copy3(s1(x), y, z) -> copy3(x, y, cons2(f1(y), z))
↳ QTRS
↳ DependencyPairsProof
f1(cons2(nil, y)) -> y
f1(cons2(f1(cons2(nil, y)), z)) -> copy3(n, y, z)
copy3(0, y, z) -> f1(z)
copy3(s1(x), y, z) -> copy3(x, y, cons2(f1(y), z))
COPY3(s1(x), y, z) -> F1(y)
COPY3(0, y, z) -> F1(z)
COPY3(s1(x), y, z) -> COPY3(x, y, cons2(f1(y), z))
F1(cons2(f1(cons2(nil, y)), z)) -> COPY3(n, y, z)
f1(cons2(nil, y)) -> y
f1(cons2(f1(cons2(nil, y)), z)) -> copy3(n, y, z)
copy3(0, y, z) -> f1(z)
copy3(s1(x), y, z) -> copy3(x, y, cons2(f1(y), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
COPY3(s1(x), y, z) -> F1(y)
COPY3(0, y, z) -> F1(z)
COPY3(s1(x), y, z) -> COPY3(x, y, cons2(f1(y), z))
F1(cons2(f1(cons2(nil, y)), z)) -> COPY3(n, y, z)
f1(cons2(nil, y)) -> y
f1(cons2(f1(cons2(nil, y)), z)) -> copy3(n, y, z)
copy3(0, y, z) -> f1(z)
copy3(s1(x), y, z) -> copy3(x, y, cons2(f1(y), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
COPY3(s1(x), y, z) -> COPY3(x, y, cons2(f1(y), z))
f1(cons2(nil, y)) -> y
f1(cons2(f1(cons2(nil, y)), z)) -> copy3(n, y, z)
copy3(0, y, z) -> f1(z)
copy3(s1(x), y, z) -> copy3(x, y, cons2(f1(y), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
COPY3(s1(x), y, z) -> COPY3(x, y, cons2(f1(y), z))
POL( COPY3(x1, ..., x3) ) = x1 + x2
POL( f1(x1) ) = max{0, x1 - 1}
POL( s1(x1) ) = x1 + 1
POL( copy3(x1, ..., x3) ) = max{0, x2 + x3 - 1}
POL( nil ) = max{0, -1}
POL( cons2(x1, x2) ) = max{0, x2 - 1}
POL( n ) = 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
f1(cons2(nil, y)) -> y
f1(cons2(f1(cons2(nil, y)), z)) -> copy3(n, y, z)
copy3(0, y, z) -> f1(z)
copy3(s1(x), y, z) -> copy3(x, y, cons2(f1(y), z))